/**
 * 
 * @since  2009/2/19
 * @author ashen
 * 
 * Description: 搜索景点得到景点列表数据并处理。
 * 
 */
var searchPointResult;//存储含有搜索景点结果信息xml
var searchPointInputText="请输入关键字";//搜索景点文本框初始文字

//获得的搜索景点结果，在ID为views的元素中插入显示结果的元素，并更新地图组件的场景
var loadSearchPointData = function (input) {
        var tempText=input;//获得当前搜索景点文本框内容
        //对URL进行了两次转码
        input=encodeURIComponent(encodeURIComponent(input));
        $.get(dataHost + "SearchPoint/"+input, function (result) {
                searchPointResult=result;
                var $views = $("#views");
                $views.empty();
                var $view = $(result).find("items");
                //加入搜索景点的表单
                var html = "<span>一共搜索到"+$view.attr("number")+"个景点.</span>"
                +"<ul class=\"list\">";
                $(result).find("items > *").each(function () {
                        html += "<li id=\"" + $(this).attr("mapid")+"\"";          
                        if ($(this).find("parent") != null) {
                                html += " class=\"parent\">";
                        }
                        html+=$(this).attr("name") + "</li>";
                        html+="<p>"+$(this).find("description:eq(0)").text() + "</p>";
                });
                html += "</ul><a class=\"back\">返回</a>";
                $views.append($(html));
                $views.find(".list > li.parent").click(searchPointLiClick);
                $(".back").click(backAClick);
                appendSearchPointDiv();
                $("#searchPointInput").attr({"value":"你搜索的是\""+tempText+"\""}); 
                bindSearchPointEvents();
        });
};

//加入搜索景点的表单
function appendSearchPointDiv(){
        //加入搜索景点的表单
    var insertHtml="<div id=\"searchPoint\"><p>搜索景点：</p>"
    +"<input id=\"searchPointInput\" type=\"text\" value=\""
    +searchPointInputText
    +"\"/><input id=\"searchPointButton\" type=\"button\" value=\"搜索\"/></div>"
    $("#views span").before($(insertHtml));
} 

//为指定ID的标记加载事件，隐藏ID为searchPointButton的元素 
function bindSearchPointEvents(){
        //加载提交搜索事件
        $("#searchPointButton").click(searchPointButtonClick);
        //加载初始化搜索景点文本框和显示搜索景点按钮的事件
        $("#searchPointInput").click(searchPointInputClick);
        $("#searchPointButton").hide();
}

//该事件加载根景点的导航与场景
var backAClick = function(event) {
        loadScene("0","http://cpc.sjtu.edu.cn/map/maps/quanjing.swf"); 
}

//单击事件，用于单击搜索结果中<li>标记，加载该场景的父场景，并在父场景中标识该场景
var searchPointLiClick = function(event) {
	var color = "#ff0000";
    var alpha = 0.6;
	var $item=$(searchPointResult).find('#' + event.target.id);
    var parentId = $item.find("parent").attr("id");
    var parentMap = $item.find("parent").attr("map");
    if(parentId!=null){
	    loadScene(parentId,parentMap);
	    //在场景中标识当前景点
	    select(event);
	}
}

//单击事件，用于单击搜索景点文本输入框，文本输入框清空
var searchPointInputClick = function(event) {
    $("#searchPointInput").attr({"value":""});
    $("#searchPointButton").show();
        
}

//单击事件，用于单击搜索景点按钮提交搜索景点文本输入框的内容，并隐藏
var searchPointButtonClick = function(event) {
    //判断是否输入数据
    var input=$("#searchPointInput").attr("value");
    if(input=="")
        $("#searchPointInput").attr({"value":searchPointInputText});    
    else
        if(input!=searchPointInputText)
        	//获得查询景点结果的数据
            loadSearchPointData(input);
    $("#searchPointButton").hide();
}

//插入搜索景点元素
function addSearchPoint(){
	//插入搜索景点元素
    appendSearchPointDiv();
    //绑定事件
    bindSearchPointEvents();
}